package abstract_;

/**
 * @description:
 * @Author yyp
 * @time
 */
public class Abstract01 {
    public static void main(String[] args) {

    }
}

abstract class Animal{
    String name;
    public Animal(String name) {
        this.name = name;
    }

    /**
     * ===> 所谓抽象方法就是没有实现的方法
     * ===> 所谓没有实现就是指，没有方法体
     * ===> 当一个类中存在抽象方法时，需要将该类声明为 abstract 类
     * ===> 一般来说，抽象类会被继承，有其子类来实现抽象方法.
     */
    public abstract void eat();
}

abstract class AbstractA{
    //抽象类不一定要包含 abstract 方法。也就是说,抽象类可以没有 abstract 方法
}

//一旦类包含了 abstract 方法,则这个类必须声明为 abstract
abstract class AbstractB {
    public abstract void hi();
}
//abstract 只能修饰类和方法，不能修饰属性或其他
class AbstractC {
    // public abstract int n1 = 1;
}
